1. Field of the Invention
This application relates generally to computer networks, and more particularly, to data routing and switching in a computer network.
2. Description of Related Art
Computer networks are important, if not essential, elements of modern society. The Internet, for example, connects millions of computer users located around the world. Information is transmitted across the Internet using the well known IP protocol.
Data transmitted with the IP protocol is transmitted in discrete bundles, called packets, of data. Each packet includes an address describing the final destination of the packet. During transmission, the packets are forwarded through the network via a series of interconnected nodes. At each node, a data forwarding algorithm determines the next node that is to relay the packet. In this manner, the packets “hop” from node to node in the network until the packet reaches its final destination.
Routing protocols and their associated routing algorithms can discover and manage the data paths from the router to destination nodes. Different routing protocols can work together to discover the best paths.
One known software package that performs a number of routing protocols is known as GateD. GateD, which is available from the Merit GateDaemon Consortium, of Michigan (reachable on the world wide web at “www.gated.org”), is a software package of IP routing protocols that was initially developed for UNIX-based workstations. With GateD running, a workstation may function as a network router. GateD has also been imported into dedicated hardware routers.
Configuring or modifying the routing algorithms implemented by GateD is performed using a GateD script file. When GateD first executes, it reads its associated script file to obtain its configuration information. If a user desires to modify GateD's configuration information, the user rewrites the script file and then restarts GateD with the new script file.
Changing the configuration information by restarting GateD with a new script file is awkward when GateD is implemented as a dedicated hardware router. Interruption of data delivery service due to minor configuration changes is not generally acceptable in the real-time router environment. Dedicated routers typically operate in real-time, and thus use a real-time operating system. Real-time operating systems are usually event-driven, which means they perform tasks based on the occurrence of an event (e.g., receipt of packets). Further, they tend to lack a disk based file system and instead rely on fast access semiconductor memory. Reconfiguring GateD by closing and restarting it detracts from the real-time nature of the router and may thus undesirably hamper packet delivery.
Router configuration options may be used to set router features such as the routing algorithms to use. Conventionally, the configurable features in a router have the same functional priority (i.e., their organizational structure is “flat”) and are interdependent, so that changing one option may impact the effect of other options. The flat nature of this organizational structure, however, can make it difficult for the user to understand how changing one feature may affect other features.
Accordingly, there is a need in the art to improve the ease with which a user may configure options for a router operating in real-time.